Multicasting is a way for efficiently delivering content over packet-based networks. A single packet originated at a source may be used to provide the content of the packet to multiple receivers on the network. The group of receivers interested in receiving certain media content, from the source, may be located all over a network and even across disparate networks. There usually is a certain most-preferred path for delivering content to each of the receivers. If the paths from the source to each of the receivers were to be collated, there may likely be overlaps in the paths. The degree of the overlaps will vary based on a location of the various receivers. The path from the source to the various receivers when represented using a network graph is typically called a content delivery tree, where vertices of the graph correspond to routers and edges to a network transport between the routers. In such a group of nodes, including the receivers and the sender, the sender could send multiple copies of each of the packets, one to each of the interested receivers. Another multicast routing protocol approach to achieve the same end result of packet delivery to each of the receivers is by generating a single copy of each packet at the source and replicating each packet at the forks in the tree. This tree corresponds to the shared path on which multicast data bound for a particular group address is forwarded. When there are a large number of senders and a large number of interested receivers per sender, the benefits of originating only one copy of each packet at the source and replicating each of the packets at each fork in the delivery tree becomes apparent with respect to savings in bandwidth utilized in transferring content.
However, there are several innate problems with multicast routing protocols. For example, as described above, there may be at least one node within the tree that receives a large amount of traffic, thereby creating a potential bottleneck on traffic throughput. Moreover, there may be a chance that the multicast traffic loads may be unevenly distributed among other nodes in the tree resulting in under-utilization of other potential paths.
In addition, many businesses may utilize multicast protocols, and similar networking infrastructures, to manage critical applications, access content servers, automate assembly and production lines, and implement complex control systems. Such reliance by businesses has driven the demand for higher protection and availability guarantees to resources over the network. Unfortunately, an interface failure, or router failure within the multicast tree may result in significant costs to the business. Therefore, there is a need in the industry for improved approaches to managing multicast routing over a network.